package vgame

import "wails/schema/enums/busenum"

// @schema_export --ident=schema --json
// @schema_go
// @schema_ts --UseDataObject
// @cache_go
// @cache_ts
// @alias V副本
type V副本 struct {
	// 主体编号，在角色/玩家/公会身上
	// @alias 库体
	K库体 string `alias:"库体"`
	// @alias 所在对象
	K所在对象 string `alias:"所在对象"`
	// @alias 所在关卡
	S所在关卡 int `alias:"所在关卡"`
	// @alias 配置
	P配置 string `alias:"配置"`
	// @alias 状态
	Z状态 busenum.F副本状态 `alias:"状态"`
	// @alias 开始时间
	K开始时间 int `alias:"开始时间"`
	// @alias 结束时间
	J结束时间 int `alias:"结束时间"`

	// 已闯关的次数
	// @alias 闯关次数
	C闯关次数 int `alias:"闯关次数"`
	// 场景：会员的提供加成
	// @alias 闯关次数加成
	C闯关次数加成 int `alias:"闯关次数加成"`
	// @alias 刷新时间
	S刷新时间 int `alias:"刷新时间"`
	// 已刷新的次数
	// @alias 刷新次数
	S刷新次数 int `alias:"刷新次数"`
	// 场景：会员的提供加成
	// @alias 刷新次数加成
	S刷新次数加成 int `alias:"刷新次数加成"`
	// 当[标旗_允许重复闯关]开启后，用于判断是否已经领取
	// @alias 领取次数
	L领取次数 int `alias:"领取次数"`
	// @alias 场景数据
	C场景数据 map[string]interface{} `alias:"场景数据"`
	// 当[标旗_记录闯关时长]开启后，用于判断是否已经领取
	// 关卡->闯关时长
	// @alias 闯关时长
	G闯关时长 int `alias:"闯关时长"`
	// 用于记录单位的血量
	// @alias 单位血量
	D单位血量 map[string]int `alias:"单位血量"`
	// @alias 击杀数量
	J击杀数量 map[string]int `alias:"击杀数量"`
	// @alias 属性
	S属性 map[string]float64 `alias:"属性" value:"{}"`
	// @alias 得分
	S得分 map[string]*S得分 `alias:"得分" value:"{}"`
}

// @schema_export --ident=schema --json
// @schema_go
// @schema_ts
type F副本关卡状态 int

const (
	F副本关卡状态_未知 F副本关卡状态 = iota
	F副本关卡状态_已开始
	F副本关卡状态_已完成
)
